package main

//import (
//	"encoding/binary"
//	"encoding/json"
//	"github.com/boltdb/bolt"
//	"log"
//	portainer "portainer/api"
//	"time"
//)
//
//func main() {
//	// Open the my.db data file in your current directory.
//	// It will be created if it doesn't exist.
//	var err error
//	db, err := bolt.Open("my.db", 0600, &bolt.Options{Timeout: 1 * time.Second})
//	if err != nil {
//		log.Fatal(err)
//	}
//	defer db.Close()
//	err = db.Update(func(tx *bolt.Tx) error {
//		_, err := tx.CreateBucketIfNotExists([]byte("roles"))
//		if err != nil {
//			return err
//		}
//		return nil
//	})
//	if err != nil {
//		return
//	}
//	db.Update(func(tx *bolt.Tx) error {
//		bucket := tx.Bucket([]byte("roles"))
//		var role portainer.Role
//		id, _ := bucket.NextSequence()
//		role.ID = portainer.RoleID(id)
//
//		data, err := MarshalObject(role)
//		if err != nil {
//			return err
//		}
//
//		return bucket.Put(Itob(int(role.ID)), data)
//	})
//	var sets = make([]portainer.Role, 0)
//	err = db.View(func(tx *bolt.Tx) error {
//		bucket:=tx.Bucket([]byte("roles"))
//		cursor := bucket.Cursor()
//		for k, v := cursor.First(); k != nil; k, v = cursor.Next() {
//			var set portainer.Role
//			err := UnmarshalObject(v, &set)
//			if err != nil {
//				return err
//			}
//			sets = append(sets, set)
//		}
//		return nil
//	})
//	if err != nil {
//		return
//	}
//
//}
//// MarshalObject encodes an object to binary format
//func MarshalObject(object interface{}) ([]byte, error) {
//	return json.Marshal(object)
//}
//func UnmarshalObject(data []byte, object interface{}) error {
//	return json.Unmarshal(data, object)
//}
//func Itob(v int) []byte {
//	b := make([]byte, 8)
//	binary.BigEndian.PutUint64(b, uint64(v))
//	return b
//}
